package org.facilscrum.persistencia;

import org.facilscrum.beans.Proyectos;
import java.sql.Date; 
import org.facilscrum.beans.*;
import org.facilscrum.controller.*;
import java.io.Serializable;
import java.util.List;
import java.util.ArrayList;
import java.util.*;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
import java.util.Map;
import java.util.Iterator;
import java.util.HashMap;
import java.util.Map;
 import javax.sql.DataSource;
import org.facilscrum.generales.Mensajeria;
import org.facilscrum.generales.DataGManager;


/**
*
* @author
*/

public class ProyectosPersistencia implements Serializable {
private static final long serialVersionUID = 1L;
public static Exception excepcion;
public static boolean esMensaje = false;
public static Connection con = null;
public static java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("org/facilscrum/properties/mensajes");
static DataGManager dataGManager;
static List<Proyectos> list;

public ProyectosPersistencia(){
         esMensaje =false;
}



/**
*
* insert()
*/

public static boolean insert (Proyectos proyectos ) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pinsert = null;
      String sql = "insert into proyectos(proyecto,nombecorto,descripcion,fecha,username,fechaterminacion,iddepartamento,idequipo,idestatusproyecto)  values(?,?,?,?,?,?,?,?,?)";
      pinsert = con.prepareStatement(sql);
              pinsert.setString(1,proyectos.getProyecto());
        pinsert.setString(2,proyectos.getNombecorto());
        pinsert.setString(3,proyectos.getDescripcion());
        pinsert.setDate(4,proyectos.getFecha());
        pinsert.setString(5,proyectos.getUsername());
        pinsert.setDate(6,proyectos.getFechaterminacion());
        pinsert.setString(7,proyectos.getIddepartamento());
        pinsert.setInt(8,proyectos.getIdequipo());
        pinsert.setString(9,proyectos.getIdestatusproyecto());
      int filas= pinsert.executeUpdate();
      pinsert.close();
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
 }


/**
*
* update()
*/

public static boolean update(Proyectos proyectos ) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pupdate = null;
      String sql = "update proyectos set  proyecto=?, nombecorto=?, descripcion=?, fecha=?, username=?, fechaterminacion=?, iddepartamento=?, idequipo=?, idestatusproyecto=?  where  idproyecto ='"+proyectos.getIdproyecto()+"'  ";
      pupdate= con.prepareStatement(sql);
      pupdate.setString(1,proyectos.getProyecto());
pupdate.setString(2,proyectos.getNombecorto());
pupdate.setString(3,proyectos.getDescripcion());
pupdate.setDate(4,proyectos.getFecha());
pupdate.setString(5,proyectos.getUsername());
pupdate.setDate(6,proyectos.getFechaterminacion());
pupdate.setString(7,proyectos.getIddepartamento());
pupdate.setInt(8,proyectos.getIdequipo());
pupdate.setString(9,proyectos.getIdestatusproyecto());
      int filas= pupdate.executeUpdate();
      pupdate.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.noupdate"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* update()
*/

public static boolean update(String sqlupdate ) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pupdate = null;
      String sql = "update  proyectos set " + sqlupdate +"";
      pupdate= con.prepareStatement(sql);
      int filas= pupdate.executeUpdate();
      pupdate.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.noupdate"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* updatePrimaryKey()
*/

public static boolean updatePrimaryKey(Proyectos proyectos_old , Proyectos proyectos) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pupdate = null;
      String sql = "update proyectos set  idproyecto=?  where  idproyecto ='"+proyectos_old.getIdproyecto()+"'  ";
      pupdate= con.prepareStatement(sql);
      pupdate.setInt(0,proyectos.getIdproyecto());
      int filas= pupdate.executeUpdate();
      pupdate.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.noupdate"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* delete()
*/

public static boolean delete(Proyectos proyectos ) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pdelete = null;
      String sql = "delete from proyectos  where  idproyecto = ?  ";
      pdelete= con.prepareStatement(sql);
      pdelete.setInt(1,proyectos.getIdproyecto());
      int filas= pdelete.executeUpdate();
      pdelete.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.nodelete"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* delete()
*/

public static boolean delete(String sqldelete ) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pdelete = null;
      String sql = "delete from proyectos where " + sqldelete +"";
      pdelete= con.prepareStatement(sql);
      int filas= pdelete.executeUpdate();
      pdelete.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.nodelete"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* deleteAll()
*/

public static boolean deleteAll() {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pdelete = null;
      String sql = "delete from proyectos  ";
      pdelete= con.prepareStatement(sql);
      int filas= pdelete.executeUpdate();
      pdelete.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.nodeleteall"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* exists()
*/



public static boolean exists(Proyectos proyectos) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      String sql = "select * from proyectos where idproyecto='"+proyectos.getIdproyecto()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "proyectos" +" " + bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return false;
   }
    rs.close();
    psquery.close();
 return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* findByPrimaryKey()
*/



public static Proyectos findByPrimaryKey(Proyectos proyectos) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
      String sql = "select * from proyectos where idproyecto='"+proyectos.getIdproyecto()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "proyectos" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Departamento departamento = new Departamento();
Departamento departamento2 = new Departamento();
DepartamentoController departamentoController = new DepartamentoController();
Equipos equipos = new Equipos();
Equipos equipos2 = new Equipos();
EquiposController equiposController = new EquiposController();
Estatusproyectos estatusproyectos = new Estatusproyectos();
Estatusproyectos estatusproyectos2 = new Estatusproyectos();
EstatusproyectosController estatusproyectosController = new EstatusproyectosController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
            
    departamento.setIddepartamento(rs.getString("iddepartamento"));
    equipos.setIdequipo(rs.getInt("idequipo"));
    estatusproyectos.setIdestatusproyecto(rs.getString("idestatusproyecto"));
    usuarios.setUsername(rs.getString("username"));
            
   departamento2 =  departamentoController.findByPrimaryKey(departamento);
   if (departamento2== null) {
       //no existe registro con ese codigo 
   } else {
   departamento= departamento2;
   proyectos.setDepartamento(departamento);
     }
   equipos2 =  equiposController.findByPrimaryKey(equipos);
   if (equipos2== null) {
       //no existe registro con ese codigo 
   } else {
   equipos= equipos2;
   proyectos.setEquipos(equipos);
     }
   estatusproyectos2 =  estatusproyectosController.findByPrimaryKey(estatusproyectos);
   if (estatusproyectos2== null) {
       //no existe registro con ese codigo 
   } else {
   estatusproyectos= estatusproyectos2;
   proyectos.setEstatusproyectos(estatusproyectos);
     }
   usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
   if (usuarios2== null) {
       //no existe registro con ese codigo 
   } else {
   usuarios= usuarios2;
   proyectos.setUsuarios(usuarios);
     }
            proyectos.setIdproyecto(rs.getInt("idproyecto"));
proyectos.setProyecto(rs.getString("proyecto"));
proyectos.setNombecorto(rs.getString("nombecorto"));
proyectos.setDescripcion(rs.getString("descripcion"));
proyectos.setFecha(rs.getDate("fecha"));
proyectos.setUsername(rs.getString("username"));
proyectos.setFechaterminacion(rs.getDate("fechaterminacion"));
proyectos.setIddepartamento(rs.getString("iddepartamento"));
proyectos.setIdequipo(rs.getInt("idequipo"));
proyectos.setIdestatusproyecto(rs.getString("idestatusproyecto"));
    }
    rs.close();
    psquery.close();
 return proyectos;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByIdproyecto()
*/

public static List<Proyectos> findByIdproyecto(Proyectos proyectos,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from proyectos where idproyecto='"+proyectos.getIdproyecto()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "proyectos" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Departamento departamento = new Departamento();
Departamento departamento2 = new Departamento();
DepartamentoController departamentoController = new DepartamentoController();
Equipos equipos = new Equipos();
Equipos equipos2 = new Equipos();
EquiposController equiposController = new EquiposController();
Estatusproyectos estatusproyectos = new Estatusproyectos();
Estatusproyectos estatusproyectos2 = new Estatusproyectos();
EstatusproyectosController estatusproyectosController = new EstatusproyectosController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Proyectos proyectos2 = new Proyectos(
         rs.getInt("idproyecto"),rs.getString("proyecto"),rs.getString("nombecorto"),rs.getString("descripcion"),rs.getDate("fecha"),rs.getString("username"),rs.getDate("fechaterminacion"),rs.getString("iddepartamento"),rs.getInt("idequipo"),rs.getString("idestatusproyecto"));
            
    departamento.setIddepartamento(rs.getString("iddepartamento"));
    equipos.setIdequipo(rs.getInt("idequipo"));
    estatusproyectos.setIdestatusproyecto(rs.getString("idestatusproyecto"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     departamento2 =  departamentoController.findByPrimaryKey(departamento);
     if (departamento2== null) {
       //not found records 
     } else {
     departamento= departamento2;
     proyectos2.setDepartamento(departamento);
       }
   }
  if(withRelation){
     equipos2 =  equiposController.findByPrimaryKey(equipos);
     if (equipos2== null) {
       //not found records 
     } else {
     equipos= equipos2;
     proyectos2.setEquipos(equipos);
       }
   }
  if(withRelation){
     estatusproyectos2 =  estatusproyectosController.findByPrimaryKey(estatusproyectos);
     if (estatusproyectos2== null) {
       //not found records 
     } else {
     estatusproyectos= estatusproyectos2;
     proyectos2.setEstatusproyectos(estatusproyectos);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     proyectos2.setUsuarios(usuarios);
       }
   }
       list.add(proyectos2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByProyecto()
*/

public static List<Proyectos> findByProyecto(Proyectos proyectos,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from proyectos where proyecto='"+proyectos.getProyecto()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "proyectos" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Departamento departamento = new Departamento();
Departamento departamento2 = new Departamento();
DepartamentoController departamentoController = new DepartamentoController();
Equipos equipos = new Equipos();
Equipos equipos2 = new Equipos();
EquiposController equiposController = new EquiposController();
Estatusproyectos estatusproyectos = new Estatusproyectos();
Estatusproyectos estatusproyectos2 = new Estatusproyectos();
EstatusproyectosController estatusproyectosController = new EstatusproyectosController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Proyectos proyectos2 = new Proyectos(
         rs.getInt("idproyecto"),rs.getString("proyecto"),rs.getString("nombecorto"),rs.getString("descripcion"),rs.getDate("fecha"),rs.getString("username"),rs.getDate("fechaterminacion"),rs.getString("iddepartamento"),rs.getInt("idequipo"),rs.getString("idestatusproyecto"));
            
    departamento.setIddepartamento(rs.getString("iddepartamento"));
    equipos.setIdequipo(rs.getInt("idequipo"));
    estatusproyectos.setIdestatusproyecto(rs.getString("idestatusproyecto"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     departamento2 =  departamentoController.findByPrimaryKey(departamento);
     if (departamento2== null) {
       //not found records 
     } else {
     departamento= departamento2;
     proyectos2.setDepartamento(departamento);
       }
   }
  if(withRelation){
     equipos2 =  equiposController.findByPrimaryKey(equipos);
     if (equipos2== null) {
       //not found records 
     } else {
     equipos= equipos2;
     proyectos2.setEquipos(equipos);
       }
   }
  if(withRelation){
     estatusproyectos2 =  estatusproyectosController.findByPrimaryKey(estatusproyectos);
     if (estatusproyectos2== null) {
       //not found records 
     } else {
     estatusproyectos= estatusproyectos2;
     proyectos2.setEstatusproyectos(estatusproyectos);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     proyectos2.setUsuarios(usuarios);
       }
   }
       list.add(proyectos2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByNombecorto()
*/

public static List<Proyectos> findByNombecorto(Proyectos proyectos,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from proyectos where nombecorto='"+proyectos.getNombecorto()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "proyectos" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Departamento departamento = new Departamento();
Departamento departamento2 = new Departamento();
DepartamentoController departamentoController = new DepartamentoController();
Equipos equipos = new Equipos();
Equipos equipos2 = new Equipos();
EquiposController equiposController = new EquiposController();
Estatusproyectos estatusproyectos = new Estatusproyectos();
Estatusproyectos estatusproyectos2 = new Estatusproyectos();
EstatusproyectosController estatusproyectosController = new EstatusproyectosController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Proyectos proyectos2 = new Proyectos(
         rs.getInt("idproyecto"),rs.getString("proyecto"),rs.getString("nombecorto"),rs.getString("descripcion"),rs.getDate("fecha"),rs.getString("username"),rs.getDate("fechaterminacion"),rs.getString("iddepartamento"),rs.getInt("idequipo"),rs.getString("idestatusproyecto"));
            
    departamento.setIddepartamento(rs.getString("iddepartamento"));
    equipos.setIdequipo(rs.getInt("idequipo"));
    estatusproyectos.setIdestatusproyecto(rs.getString("idestatusproyecto"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     departamento2 =  departamentoController.findByPrimaryKey(departamento);
     if (departamento2== null) {
       //not found records 
     } else {
     departamento= departamento2;
     proyectos2.setDepartamento(departamento);
       }
   }
  if(withRelation){
     equipos2 =  equiposController.findByPrimaryKey(equipos);
     if (equipos2== null) {
       //not found records 
     } else {
     equipos= equipos2;
     proyectos2.setEquipos(equipos);
       }
   }
  if(withRelation){
     estatusproyectos2 =  estatusproyectosController.findByPrimaryKey(estatusproyectos);
     if (estatusproyectos2== null) {
       //not found records 
     } else {
     estatusproyectos= estatusproyectos2;
     proyectos2.setEstatusproyectos(estatusproyectos);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     proyectos2.setUsuarios(usuarios);
       }
   }
       list.add(proyectos2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByDescripcion()
*/

public static List<Proyectos> findByDescripcion(Proyectos proyectos,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from proyectos where descripcion='"+proyectos.getDescripcion()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "proyectos" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Departamento departamento = new Departamento();
Departamento departamento2 = new Departamento();
DepartamentoController departamentoController = new DepartamentoController();
Equipos equipos = new Equipos();
Equipos equipos2 = new Equipos();
EquiposController equiposController = new EquiposController();
Estatusproyectos estatusproyectos = new Estatusproyectos();
Estatusproyectos estatusproyectos2 = new Estatusproyectos();
EstatusproyectosController estatusproyectosController = new EstatusproyectosController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Proyectos proyectos2 = new Proyectos(
         rs.getInt("idproyecto"),rs.getString("proyecto"),rs.getString("nombecorto"),rs.getString("descripcion"),rs.getDate("fecha"),rs.getString("username"),rs.getDate("fechaterminacion"),rs.getString("iddepartamento"),rs.getInt("idequipo"),rs.getString("idestatusproyecto"));
            
    departamento.setIddepartamento(rs.getString("iddepartamento"));
    equipos.setIdequipo(rs.getInt("idequipo"));
    estatusproyectos.setIdestatusproyecto(rs.getString("idestatusproyecto"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     departamento2 =  departamentoController.findByPrimaryKey(departamento);
     if (departamento2== null) {
       //not found records 
     } else {
     departamento= departamento2;
     proyectos2.setDepartamento(departamento);
       }
   }
  if(withRelation){
     equipos2 =  equiposController.findByPrimaryKey(equipos);
     if (equipos2== null) {
       //not found records 
     } else {
     equipos= equipos2;
     proyectos2.setEquipos(equipos);
       }
   }
  if(withRelation){
     estatusproyectos2 =  estatusproyectosController.findByPrimaryKey(estatusproyectos);
     if (estatusproyectos2== null) {
       //not found records 
     } else {
     estatusproyectos= estatusproyectos2;
     proyectos2.setEstatusproyectos(estatusproyectos);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     proyectos2.setUsuarios(usuarios);
       }
   }
       list.add(proyectos2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByFecha()
*/

public static List<Proyectos> findByFecha(Proyectos proyectos,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from proyectos where fecha='"+proyectos.getFecha()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "proyectos" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Departamento departamento = new Departamento();
Departamento departamento2 = new Departamento();
DepartamentoController departamentoController = new DepartamentoController();
Equipos equipos = new Equipos();
Equipos equipos2 = new Equipos();
EquiposController equiposController = new EquiposController();
Estatusproyectos estatusproyectos = new Estatusproyectos();
Estatusproyectos estatusproyectos2 = new Estatusproyectos();
EstatusproyectosController estatusproyectosController = new EstatusproyectosController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Proyectos proyectos2 = new Proyectos(
         rs.getInt("idproyecto"),rs.getString("proyecto"),rs.getString("nombecorto"),rs.getString("descripcion"),rs.getDate("fecha"),rs.getString("username"),rs.getDate("fechaterminacion"),rs.getString("iddepartamento"),rs.getInt("idequipo"),rs.getString("idestatusproyecto"));
            
    departamento.setIddepartamento(rs.getString("iddepartamento"));
    equipos.setIdequipo(rs.getInt("idequipo"));
    estatusproyectos.setIdestatusproyecto(rs.getString("idestatusproyecto"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     departamento2 =  departamentoController.findByPrimaryKey(departamento);
     if (departamento2== null) {
       //not found records 
     } else {
     departamento= departamento2;
     proyectos2.setDepartamento(departamento);
       }
   }
  if(withRelation){
     equipos2 =  equiposController.findByPrimaryKey(equipos);
     if (equipos2== null) {
       //not found records 
     } else {
     equipos= equipos2;
     proyectos2.setEquipos(equipos);
       }
   }
  if(withRelation){
     estatusproyectos2 =  estatusproyectosController.findByPrimaryKey(estatusproyectos);
     if (estatusproyectos2== null) {
       //not found records 
     } else {
     estatusproyectos= estatusproyectos2;
     proyectos2.setEstatusproyectos(estatusproyectos);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     proyectos2.setUsuarios(usuarios);
       }
   }
       list.add(proyectos2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByUsername()
*/

public static List<Proyectos> findByUsername(Proyectos proyectos,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from proyectos where username='"+proyectos.getUsername()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "proyectos" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Departamento departamento = new Departamento();
Departamento departamento2 = new Departamento();
DepartamentoController departamentoController = new DepartamentoController();
Equipos equipos = new Equipos();
Equipos equipos2 = new Equipos();
EquiposController equiposController = new EquiposController();
Estatusproyectos estatusproyectos = new Estatusproyectos();
Estatusproyectos estatusproyectos2 = new Estatusproyectos();
EstatusproyectosController estatusproyectosController = new EstatusproyectosController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Proyectos proyectos2 = new Proyectos(
         rs.getInt("idproyecto"),rs.getString("proyecto"),rs.getString("nombecorto"),rs.getString("descripcion"),rs.getDate("fecha"),rs.getString("username"),rs.getDate("fechaterminacion"),rs.getString("iddepartamento"),rs.getInt("idequipo"),rs.getString("idestatusproyecto"));
            
    departamento.setIddepartamento(rs.getString("iddepartamento"));
    equipos.setIdequipo(rs.getInt("idequipo"));
    estatusproyectos.setIdestatusproyecto(rs.getString("idestatusproyecto"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     departamento2 =  departamentoController.findByPrimaryKey(departamento);
     if (departamento2== null) {
       //not found records 
     } else {
     departamento= departamento2;
     proyectos2.setDepartamento(departamento);
       }
   }
  if(withRelation){
     equipos2 =  equiposController.findByPrimaryKey(equipos);
     if (equipos2== null) {
       //not found records 
     } else {
     equipos= equipos2;
     proyectos2.setEquipos(equipos);
       }
   }
  if(withRelation){
     estatusproyectos2 =  estatusproyectosController.findByPrimaryKey(estatusproyectos);
     if (estatusproyectos2== null) {
       //not found records 
     } else {
     estatusproyectos= estatusproyectos2;
     proyectos2.setEstatusproyectos(estatusproyectos);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     proyectos2.setUsuarios(usuarios);
       }
   }
       list.add(proyectos2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByFechaterminacion()
*/

public static List<Proyectos> findByFechaterminacion(Proyectos proyectos,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from proyectos where fechaterminacion='"+proyectos.getFechaterminacion()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "proyectos" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Departamento departamento = new Departamento();
Departamento departamento2 = new Departamento();
DepartamentoController departamentoController = new DepartamentoController();
Equipos equipos = new Equipos();
Equipos equipos2 = new Equipos();
EquiposController equiposController = new EquiposController();
Estatusproyectos estatusproyectos = new Estatusproyectos();
Estatusproyectos estatusproyectos2 = new Estatusproyectos();
EstatusproyectosController estatusproyectosController = new EstatusproyectosController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Proyectos proyectos2 = new Proyectos(
         rs.getInt("idproyecto"),rs.getString("proyecto"),rs.getString("nombecorto"),rs.getString("descripcion"),rs.getDate("fecha"),rs.getString("username"),rs.getDate("fechaterminacion"),rs.getString("iddepartamento"),rs.getInt("idequipo"),rs.getString("idestatusproyecto"));
            
    departamento.setIddepartamento(rs.getString("iddepartamento"));
    equipos.setIdequipo(rs.getInt("idequipo"));
    estatusproyectos.setIdestatusproyecto(rs.getString("idestatusproyecto"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     departamento2 =  departamentoController.findByPrimaryKey(departamento);
     if (departamento2== null) {
       //not found records 
     } else {
     departamento= departamento2;
     proyectos2.setDepartamento(departamento);
       }
   }
  if(withRelation){
     equipos2 =  equiposController.findByPrimaryKey(equipos);
     if (equipos2== null) {
       //not found records 
     } else {
     equipos= equipos2;
     proyectos2.setEquipos(equipos);
       }
   }
  if(withRelation){
     estatusproyectos2 =  estatusproyectosController.findByPrimaryKey(estatusproyectos);
     if (estatusproyectos2== null) {
       //not found records 
     } else {
     estatusproyectos= estatusproyectos2;
     proyectos2.setEstatusproyectos(estatusproyectos);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     proyectos2.setUsuarios(usuarios);
       }
   }
       list.add(proyectos2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByIddepartamento()
*/

public static List<Proyectos> findByIddepartamento(Proyectos proyectos,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from proyectos where iddepartamento='"+proyectos.getIddepartamento()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "proyectos" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Departamento departamento = new Departamento();
Departamento departamento2 = new Departamento();
DepartamentoController departamentoController = new DepartamentoController();
Equipos equipos = new Equipos();
Equipos equipos2 = new Equipos();
EquiposController equiposController = new EquiposController();
Estatusproyectos estatusproyectos = new Estatusproyectos();
Estatusproyectos estatusproyectos2 = new Estatusproyectos();
EstatusproyectosController estatusproyectosController = new EstatusproyectosController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Proyectos proyectos2 = new Proyectos(
         rs.getInt("idproyecto"),rs.getString("proyecto"),rs.getString("nombecorto"),rs.getString("descripcion"),rs.getDate("fecha"),rs.getString("username"),rs.getDate("fechaterminacion"),rs.getString("iddepartamento"),rs.getInt("idequipo"),rs.getString("idestatusproyecto"));
            
    departamento.setIddepartamento(rs.getString("iddepartamento"));
    equipos.setIdequipo(rs.getInt("idequipo"));
    estatusproyectos.setIdestatusproyecto(rs.getString("idestatusproyecto"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     departamento2 =  departamentoController.findByPrimaryKey(departamento);
     if (departamento2== null) {
       //not found records 
     } else {
     departamento= departamento2;
     proyectos2.setDepartamento(departamento);
       }
   }
  if(withRelation){
     equipos2 =  equiposController.findByPrimaryKey(equipos);
     if (equipos2== null) {
       //not found records 
     } else {
     equipos= equipos2;
     proyectos2.setEquipos(equipos);
       }
   }
  if(withRelation){
     estatusproyectos2 =  estatusproyectosController.findByPrimaryKey(estatusproyectos);
     if (estatusproyectos2== null) {
       //not found records 
     } else {
     estatusproyectos= estatusproyectos2;
     proyectos2.setEstatusproyectos(estatusproyectos);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     proyectos2.setUsuarios(usuarios);
       }
   }
       list.add(proyectos2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByIdequipo()
*/

public static List<Proyectos> findByIdequipo(Proyectos proyectos,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from proyectos where idequipo='"+proyectos.getIdequipo()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "proyectos" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Departamento departamento = new Departamento();
Departamento departamento2 = new Departamento();
DepartamentoController departamentoController = new DepartamentoController();
Equipos equipos = new Equipos();
Equipos equipos2 = new Equipos();
EquiposController equiposController = new EquiposController();
Estatusproyectos estatusproyectos = new Estatusproyectos();
Estatusproyectos estatusproyectos2 = new Estatusproyectos();
EstatusproyectosController estatusproyectosController = new EstatusproyectosController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Proyectos proyectos2 = new Proyectos(
         rs.getInt("idproyecto"),rs.getString("proyecto"),rs.getString("nombecorto"),rs.getString("descripcion"),rs.getDate("fecha"),rs.getString("username"),rs.getDate("fechaterminacion"),rs.getString("iddepartamento"),rs.getInt("idequipo"),rs.getString("idestatusproyecto"));
            
    departamento.setIddepartamento(rs.getString("iddepartamento"));
    equipos.setIdequipo(rs.getInt("idequipo"));
    estatusproyectos.setIdestatusproyecto(rs.getString("idestatusproyecto"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     departamento2 =  departamentoController.findByPrimaryKey(departamento);
     if (departamento2== null) {
       //not found records 
     } else {
     departamento= departamento2;
     proyectos2.setDepartamento(departamento);
       }
   }
  if(withRelation){
     equipos2 =  equiposController.findByPrimaryKey(equipos);
     if (equipos2== null) {
       //not found records 
     } else {
     equipos= equipos2;
     proyectos2.setEquipos(equipos);
       }
   }
  if(withRelation){
     estatusproyectos2 =  estatusproyectosController.findByPrimaryKey(estatusproyectos);
     if (estatusproyectos2== null) {
       //not found records 
     } else {
     estatusproyectos= estatusproyectos2;
     proyectos2.setEstatusproyectos(estatusproyectos);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     proyectos2.setUsuarios(usuarios);
       }
   }
       list.add(proyectos2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByIdestatusproyecto()
*/

public static List<Proyectos> findByIdestatusproyecto(Proyectos proyectos,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from proyectos where idestatusproyecto='"+proyectos.getIdestatusproyecto()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "proyectos" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Departamento departamento = new Departamento();
Departamento departamento2 = new Departamento();
DepartamentoController departamentoController = new DepartamentoController();
Equipos equipos = new Equipos();
Equipos equipos2 = new Equipos();
EquiposController equiposController = new EquiposController();
Estatusproyectos estatusproyectos = new Estatusproyectos();
Estatusproyectos estatusproyectos2 = new Estatusproyectos();
EstatusproyectosController estatusproyectosController = new EstatusproyectosController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Proyectos proyectos2 = new Proyectos(
         rs.getInt("idproyecto"),rs.getString("proyecto"),rs.getString("nombecorto"),rs.getString("descripcion"),rs.getDate("fecha"),rs.getString("username"),rs.getDate("fechaterminacion"),rs.getString("iddepartamento"),rs.getInt("idequipo"),rs.getString("idestatusproyecto"));
            
    departamento.setIddepartamento(rs.getString("iddepartamento"));
    equipos.setIdequipo(rs.getInt("idequipo"));
    estatusproyectos.setIdestatusproyecto(rs.getString("idestatusproyecto"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     departamento2 =  departamentoController.findByPrimaryKey(departamento);
     if (departamento2== null) {
       //not found records 
     } else {
     departamento= departamento2;
     proyectos2.setDepartamento(departamento);
       }
   }
  if(withRelation){
     equipos2 =  equiposController.findByPrimaryKey(equipos);
     if (equipos2== null) {
       //not found records 
     } else {
     equipos= equipos2;
     proyectos2.setEquipos(equipos);
       }
   }
  if(withRelation){
     estatusproyectos2 =  estatusproyectosController.findByPrimaryKey(estatusproyectos);
     if (estatusproyectos2== null) {
       //not found records 
     } else {
     estatusproyectos= estatusproyectos2;
     proyectos2.setEstatusproyectos(estatusproyectos);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     proyectos2.setUsuarios(usuarios);
       }
   }
       list.add(proyectos2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* locateByParameters()
*/

public static List<Proyectos> locateByParameters(Map parametros,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<>();
  String sql = "select * from proyectos";
  if (parametros != null) {
      Iterator it = parametros.entrySet().iterator();
      StringBuilder sb = new StringBuilder("");
      int i = 0;
      while (it.hasNext()) {
          if (i != 0){
            sb.append(" and ");
         }
         i++;
        Map.Entry e = (Map.Entry) it.next();
        sb.append(e.getKey() +"= '"+  e.getValue()+"'");
      }
      if (!sb.toString().equals("")){
         sql = sql + " where " + sb.toString();
      }
   }
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "proyectos" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Departamento departamento = new Departamento();
Departamento departamento2 = new Departamento();
DepartamentoController departamentoController = new DepartamentoController();
Equipos equipos = new Equipos();
Equipos equipos2 = new Equipos();
EquiposController equiposController = new EquiposController();
Estatusproyectos estatusproyectos = new Estatusproyectos();
Estatusproyectos estatusproyectos2 = new Estatusproyectos();
EstatusproyectosController estatusproyectosController = new EstatusproyectosController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Proyectos proyectos2 = new Proyectos(
         rs.getInt("idproyecto"),rs.getString("proyecto"),rs.getString("nombecorto"),rs.getString("descripcion"),rs.getDate("fecha"),rs.getString("username"),rs.getDate("fechaterminacion"),rs.getString("iddepartamento"),rs.getInt("idequipo"),rs.getString("idestatusproyecto"));
            
    departamento.setIddepartamento(rs.getString("iddepartamento"));
    equipos.setIdequipo(rs.getInt("idequipo"));
    estatusproyectos.setIdestatusproyecto(rs.getString("idestatusproyecto"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     departamento2 =  departamentoController.findByPrimaryKey(departamento);
     if (departamento2== null) {
       //not found records 
     } else {
     departamento= departamento2;
     proyectos2.setDepartamento(departamento);
       }
   }
  if(withRelation){
     equipos2 =  equiposController.findByPrimaryKey(equipos);
     if (equipos2== null) {
       //not found records 
     } else {
     equipos= equipos2;
     proyectos2.setEquipos(equipos);
       }
   }
  if(withRelation){
     estatusproyectos2 =  estatusproyectosController.findByPrimaryKey(estatusproyectos);
     if (estatusproyectos2== null) {
       //not found records 
     } else {
     estatusproyectos= estatusproyectos2;
     proyectos2.setEstatusproyectos(estatusproyectos);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     proyectos2.setUsuarios(usuarios);
       }
   }
       list.add(proyectos2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* Double func(String funcion, String campo)
*/



public static Double func(String funcion, String campo) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return 0.0;
  }
      String sql = "select "+funcion+"("+campo+") as contador from proyectos";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "proyectos" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return 0.0;
   }
    Double tmp =0.0;
   rs.beforeFirst();
   while (rs.next()) {
    tmp =  rs.getDouble("contador");
    }
    rs.close();
    psquery.close();
 return tmp;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return 0.0;
}


/**
*
* Double func(String funcion, String campo,String where)
*/



public static Double func(String funcion, String campo, String where) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return 0.0;
  }
      String sql = "select "+funcion+"("+campo+") as contador from proyectos where "+where +" ";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "proyectos" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return 0.0;
   }
    Double tmp =0.0;
   rs.beforeFirst();
   while (rs.next()) {
    tmp =  rs.getDouble("contador");
    }
    rs.close();
    psquery.close();
 return tmp;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return 0.0;
}


/**
*
* count()
*/



public static Integer count() {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return 0;
  }
      String sql = "select count(*) as contador from proyectos";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "proyectos" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return 0;
   }
     rs.beforeFirst();
     while (rs.next()) {
      x =  rs.getInt("contador");
    }
    rs.close();
    psquery.close();
 return x;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return 0;
}


/**
*
* count(String sqlquery)
*/



public static Integer count(String sqlquery) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return 0;
  }
      String sql = "select count(*) as contador from proyectos where  " + sqlquery +"";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "proyectos" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return 0;
   }
   rs.beforeFirst();
   while (rs.next()) {
    x =  rs.getInt("contador");
    }
    rs.close();
    psquery.close();
 return x;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return 0;
}


/**
*
* query()
*/

public static List<Proyectos> query(String query,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
  String sql = "select * from proyectos where " + query +"";
  if (query == null || query.equals("")) {
  return null;
   }
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "proyectos" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Departamento departamento = new Departamento();
Departamento departamento2 = new Departamento();
DepartamentoController departamentoController = new DepartamentoController();
Equipos equipos = new Equipos();
Equipos equipos2 = new Equipos();
EquiposController equiposController = new EquiposController();
Estatusproyectos estatusproyectos = new Estatusproyectos();
Estatusproyectos estatusproyectos2 = new Estatusproyectos();
EstatusproyectosController estatusproyectosController = new EstatusproyectosController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Proyectos proyectos2 = new Proyectos(
         rs.getInt("idproyecto"),rs.getString("proyecto"),rs.getString("nombecorto"),rs.getString("descripcion"),rs.getDate("fecha"),rs.getString("username"),rs.getDate("fechaterminacion"),rs.getString("iddepartamento"),rs.getInt("idequipo"),rs.getString("idestatusproyecto"));
            
    departamento.setIddepartamento(rs.getString("iddepartamento"));
    equipos.setIdequipo(rs.getInt("idequipo"));
    estatusproyectos.setIdestatusproyecto(rs.getString("idestatusproyecto"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     departamento2 =  departamentoController.findByPrimaryKey(departamento);
     if (departamento2== null) {
       //not found records 
     } else {
     departamento= departamento2;
     proyectos2.setDepartamento(departamento);
       }
   }
  if(withRelation){
     equipos2 =  equiposController.findByPrimaryKey(equipos);
     if (equipos2== null) {
       //not found records 
     } else {
     equipos= equipos2;
     proyectos2.setEquipos(equipos);
       }
   }
  if(withRelation){
     estatusproyectos2 =  estatusproyectosController.findByPrimaryKey(estatusproyectos);
     if (estatusproyectos2== null) {
       //not found records 
     } else {
     estatusproyectos= estatusproyectos2;
     proyectos2.setEstatusproyectos(estatusproyectos);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     proyectos2.setUsuarios(usuarios);
       }
   }
       list.add(proyectos2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* orderby()
*/

public static List<Proyectos> orderby(String query,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
  String sql = "select * from proyectos order by " + query +"";
  if (query == null || query.equals("")) {
  return null;
   }
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "proyectos" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Departamento departamento = new Departamento();
Departamento departamento2 = new Departamento();
DepartamentoController departamentoController = new DepartamentoController();
Equipos equipos = new Equipos();
Equipos equipos2 = new Equipos();
EquiposController equiposController = new EquiposController();
Estatusproyectos estatusproyectos = new Estatusproyectos();
Estatusproyectos estatusproyectos2 = new Estatusproyectos();
EstatusproyectosController estatusproyectosController = new EstatusproyectosController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Proyectos proyectos2 = new Proyectos(
         rs.getInt("idproyecto"),rs.getString("proyecto"),rs.getString("nombecorto"),rs.getString("descripcion"),rs.getDate("fecha"),rs.getString("username"),rs.getDate("fechaterminacion"),rs.getString("iddepartamento"),rs.getInt("idequipo"),rs.getString("idestatusproyecto"));
            
    departamento.setIddepartamento(rs.getString("iddepartamento"));
    equipos.setIdequipo(rs.getInt("idequipo"));
    estatusproyectos.setIdestatusproyecto(rs.getString("idestatusproyecto"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     departamento2 =  departamentoController.findByPrimaryKey(departamento);
     if (departamento2== null) {
       //not found records 
     } else {
     departamento= departamento2;
     proyectos2.setDepartamento(departamento);
       }
   }
  if(withRelation){
     equipos2 =  equiposController.findByPrimaryKey(equipos);
     if (equipos2== null) {
       //not found records 
     } else {
     equipos= equipos2;
     proyectos2.setEquipos(equipos);
       }
   }
  if(withRelation){
     estatusproyectos2 =  estatusproyectosController.findByPrimaryKey(estatusproyectos);
     if (estatusproyectos2== null) {
       //not found records 
     } else {
     estatusproyectos= estatusproyectos2;
     proyectos2.setEstatusproyectos(estatusproyectos);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     proyectos2.setUsuarios(usuarios);
       }
   }
       list.add(proyectos2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* getListRecords()
*/

public static List<Proyectos> getListRecords(Map parametros,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<>();
  String sql = "select * from proyectos";
  if (parametros != null) {
      Iterator it = parametros.entrySet().iterator();
      StringBuilder sb = new StringBuilder("");
      while (it.hasNext()) {
        Map.Entry e = (Map.Entry) it.next();
        sb.append(e.getKey() +"="+  e.getValue());
      }
      if (!sb.toString().equals("")){
         sql = sql + " where " + sb.toString();
      }
   }
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "proyectos" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
       
Departamento departamento = new Departamento();
Departamento departamento2 = new Departamento();
DepartamentoController departamentoController = new DepartamentoController();
Equipos equipos = new Equipos();
Equipos equipos2 = new Equipos();
EquiposController equiposController = new EquiposController();
Estatusproyectos estatusproyectos = new Estatusproyectos();
Estatusproyectos estatusproyectos2 = new Estatusproyectos();
EstatusproyectosController estatusproyectosController = new EstatusproyectosController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Proyectos proyectos2 = new Proyectos(
         rs.getInt("idproyecto"),rs.getString("proyecto"),rs.getString("nombecorto"),rs.getString("descripcion"),rs.getDate("fecha"),rs.getString("username"),rs.getDate("fechaterminacion"),rs.getString("iddepartamento"),rs.getInt("idequipo"),rs.getString("idestatusproyecto"));
            
    departamento.setIddepartamento(rs.getString("iddepartamento"));
    equipos.setIdequipo(rs.getInt("idequipo"));
    estatusproyectos.setIdestatusproyecto(rs.getString("idestatusproyecto"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     departamento2 =  departamentoController.findByPrimaryKey(departamento);
     if (departamento2== null) {
       //not found records 
     } else {
     departamento= departamento2;
     proyectos2.setDepartamento(departamento);
       }
   }
  if(withRelation){
     equipos2 =  equiposController.findByPrimaryKey(equipos);
     if (equipos2== null) {
       //not found records 
     } else {
     equipos= equipos2;
     proyectos2.setEquipos(equipos);
       }
   }
  if(withRelation){
     estatusproyectos2 =  estatusproyectosController.findByPrimaryKey(estatusproyectos);
     if (estatusproyectos2== null) {
       //not found records 
     } else {
     estatusproyectos= estatusproyectos2;
     proyectos2.setEstatusproyectos(estatusproyectos);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     proyectos2.setUsuarios(usuarios);
       }
   }
       list.add(proyectos2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
 }


}
